<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>BlockAllocationTableReader (POI API Documentation)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="BlockAllocationTableReader (POI API Documentation)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/BlockAllocationTableReader.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/poi/poifs/storage/BATBlock.BATBlockAndIndex.html" title="class in org.apache.poi.poifs.storage"><span class="strong">PREV CLASS</span></a></li>
<li><a href="../../../../../org/apache/poi/poifs/storage/BlockAllocationTableWriter.html" title="class in org.apache.poi.poifs.storage"><span class="strong">NEXT CLASS</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/poi/poifs/storage/BlockAllocationTableReader.html" target="_top">FRAMES</a></li>
<li><a href="BlockAllocationTableReader.html" target="_top">NO FRAMES</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>SUMMARY:&nbsp;</li>
<li>NESTED&nbsp;|&nbsp;</li>
<li>FIELD&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">CONSTR</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">METHOD</a></li>
</ul>
<ul class="subNavList">
<li>DETAIL:&nbsp;</li>
<li>FIELD&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">CONSTR</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">METHOD</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<p class="subTitle">org.apache.poi.poifs.storage</p>
<h2 title="Class BlockAllocationTableReader" class="title">Class BlockAllocationTableReader</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.poi.poifs.storage.BlockAllocationTableReader</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public final class <strong>BlockAllocationTableReader</strong>
extends java.lang.Object</pre>
<div class="block">This class manages and creates the Block Allocation Table, which is
 basically a set of linked lists of block indices.
 <P>
 Each block of the filesystem has an index. The first block, the
 header, is skipped; the first block after the header is index 0,
 the next is index 1, and so on.
 <P>
 A block's index is also its index into the Block Allocation
 Table. The entry that it finds in the Block Allocation Table is the
 index of the next block in the linked list of blocks making up a
 file, or it is set to -2: end of list.</div>
<dl><dt><span class="strong">Author:</span></dt>
  <dd>Marc Johnson (mjohnson at apache dot org)</dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/poi/poifs/storage/BlockAllocationTableReader.html#BlockAllocationTableReader(org.apache.poi.poifs.common.POIFSBigBlockSize, int, int[], int, int, org.apache.poi.poifs.storage.BlockList)">BlockAllocationTableReader</a></strong>(<a href="../../../../../org/apache/poi/poifs/common/POIFSBigBlockSize.html" title="class in org.apache.poi.poifs.common">POIFSBigBlockSize</a>&nbsp;bigBlockSize,
                          int&nbsp;block_count,
                          int[]&nbsp;block_array,
                          int&nbsp;xbat_count,
                          int&nbsp;xbat_index,
                          <a href="../../../../../org/apache/poi/poifs/storage/BlockList.html" title="interface in org.apache.poi.poifs.storage">BlockList</a>&nbsp;raw_block_list)</code>
<div class="block">create a BlockAllocationTableReader for an existing filesystem.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/poi/poifs/storage/BlockAllocationTableReader.html#sanityCheckBlockCount(int)">sanityCheckBlockCount</a></strong>(int&nbsp;block_count)</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="BlockAllocationTableReader(org.apache.poi.poifs.common.POIFSBigBlockSize, int, int[], int, int, org.apache.poi.poifs.storage.BlockList)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>BlockAllocationTableReader</h4>
<pre>public&nbsp;BlockAllocationTableReader(<a href="../../../../../org/apache/poi/poifs/common/POIFSBigBlockSize.html" title="class in org.apache.poi.poifs.common">POIFSBigBlockSize</a>&nbsp;bigBlockSize,
                          int&nbsp;block_count,
                          int[]&nbsp;block_array,
                          int&nbsp;xbat_count,
                          int&nbsp;xbat_index,
                          <a href="../../../../../org/apache/poi/poifs/storage/BlockList.html" title="interface in org.apache.poi.poifs.storage">BlockList</a>&nbsp;raw_block_list)
                           throws java.io.IOException</pre>
<div class="block">create a BlockAllocationTableReader for an existing filesystem. Side
 effect: when this method finishes, the BAT blocks will have
 been removed from the raw block list, and any blocks labeled as
 'unused' in the block allocation table will also have been
 removed from the raw block list.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>block_count</code> - the number of BAT blocks making up the block
                    allocation table</dd><dd><code>block_array</code> - the array of BAT block indices from the
                    filesystem's header</dd><dd><code>xbat_count</code> - the number of XBAT blocks</dd><dd><code>xbat_index</code> - the index of the first XBAT block</dd><dd><code>raw_block_list</code> - the list of RawDataBlocks</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.io.IOException</code> - if, in trying to create the table, we
            encounter logic errors</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="sanityCheckBlockCount(int)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>sanityCheckBlockCount</h4>
<pre>public static&nbsp;void&nbsp;sanityCheckBlockCount(int&nbsp;block_count)
                                  throws java.io.IOException</pre>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/BlockAllocationTableReader.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/poi/poifs/storage/BATBlock.BATBlockAndIndex.html" title="class in org.apache.poi.poifs.storage"><span class="strong">PREV CLASS</span></a></li>
<li><a href="../../../../../org/apache/poi/poifs/storage/BlockAllocationTableWriter.html" title="class in org.apache.poi.poifs.storage"><span class="strong">NEXT CLASS</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/poi/poifs/storage/BlockAllocationTableReader.html" target="_top">FRAMES</a></li>
<li><a href="BlockAllocationTableReader.html" target="_top">NO FRAMES</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>SUMMARY:&nbsp;</li>
<li>NESTED&nbsp;|&nbsp;</li>
<li>FIELD&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">CONSTR</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">METHOD</a></li>
</ul>
<ul class="subNavList">
<li>DETAIL:&nbsp;</li>
<li>FIELD&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">CONSTR</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">METHOD</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>
                <i>Copyright 2014 The Apache Software Foundation or
        its licensors, as applicable.</i>
            </small></p>
</body>
</html>
